package com.timeshare.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.timeshare.dto.ChatMessageDTO;
import com.timeshare.entity.ChatMessage;

import java.util.List;

/**
 * 聊天服务接口
 */
public interface ChatService extends IService<ChatMessage> {
    
    /**
     * 保存消息
     */
    ChatMessage saveMessage(ChatMessageDTO messageDTO);
    
    /**
     * 获取聊天历史
     */
    List<ChatMessage> getChatHistory(Long userId1, Long userId2, Integer limit);
    
    /**
     * 获取未读消息数
     */
    Integer getUnreadCount(Long userId);
    
    /**
     * 标记消息为已读
     */
    void markAsRead(Long userId, Long senderId);
    
    /**
     * 撤回消息
     */
    void recallMessage(Long messageId, Long userId);
}

